home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / graphics / scan.lzh / GEM.S < prev    next >
Text File  |  1991-02-21  |  8KB  |  357 lines

  1.  OPT O+
  2.  
  3. ;AES & VDI Macro library.  (C)-1990 by Terje Vernly
  4. ;BBS Section added by Lars-Erik Østerud, 21/02-1991
  5.  
  6. ;AES
  7. APPL_INIT    equ 10
  8. APPL_READ    equ 11
  9. APPL_WRITE    equ 12
  10. APPL_FIND    equ 13
  11. APPL_TPLAY    equ 14
  12. APPL_TRECORD    equ 15
  13. APPL_EXIT    equ 19
  14. EVNT_KEYBD    equ 20
  15. EVNT_BUTTON    equ 21
  16. EVNT_MOUSE    equ 22
  17. EVNT_MESAG    equ 23
  18. EVNT_TIMER    equ 24
  19. EVNT_MULTI    equ 25
  20. EVNT_DCLICK    equ 26
  21. MENU_BAR    equ 30
  22. MENU_ICHECK    equ 31
  23. MENU_IENABLE    equ 32
  24. MENU_TNORMAL    equ 33
  25. MENU_TEXT    equ 34
  26. MENU_REGISTER    equ 35
  27. OBJC_ADD    equ 40
  28. OBJC_DELETE    equ 41
  29. OBJC_DRAW    equ 42
  30. OBJC_FIND    equ 43
  31. OBJC_OFFSET    equ 44
  32. OBJC_ORDER    equ 45
  33. OBJC_EDIT    equ 46
  34. OBJC_CHANGE    equ 47
  35. FORM_DO        equ 50
  36. FORM_DIAL    equ 51
  37. FORM_ALERT    equ 52
  38. FORM_ERROR    equ 53
  39. FORM_CENTER    equ 54
  40. GRAF_RUBBERBOX     equ 70
  41. GRAF_DRAGBOX    equ 71
  42. GRAF_MOVEBOX    equ 72
  43. GRAF_GROWBOX    equ 73
  44. GRAF_SHRINKBOX    equ 74
  45. GRAF_WATCHBOX    equ 75
  46. GRAF_SLIDEBOX    equ 76
  47. GRAF_HANDLE    equ 77
  48. GRAF_MOUSE    equ 78
  49. GRAF_MKSTATE    equ 79
  50. SCRP_READ    equ 80
  51. SCRP_WRITE    equ 81
  52. FSEL_INPUT    equ 90
  53. FSEL_EXINPUT    equ 91
  54. WIND_CREATE    equ 100
  55. WIND_OPEN    equ 101
  56. WIND_CLOSE    equ 102
  57. WIND_DELETE    equ 103
  58. WIND_GET    equ 104
  59. WIND_SET    equ 105
  60. WIND_FIND    equ 106
  61. WIND_UPDATE    equ 107
  62. WIND_CALC    equ 108
  63. RSRC_LOAD    equ 110
  64. RSRC_FREE    equ 111
  65. RSRC_GADDR    equ 112
  66. RSRC_SADDR    equ 113
  67. RSRC_OBFIX    equ 114
  68. SHEL_READ    equ 120
  69. SHEL_WRITE    equ 121
  70. SHEL_FIND    equ 124
  71. SHEL_ENVRN    equ 125
  72.  
  73. ;VDI
  74. V_OPENWK    equ 1        open workstation        
  75. V_CLSWK        equ 2        close workstation
  76. V_CLRWK        equ 3        clear workstation
  77. V_UPDWK        equ 4        update workstation
  78. V_ESCAPES    equ 5        various
  79. V_PLINE        equ 6        polyline
  80. V_PMARKER    equ 7        polymarker
  81. V_GTEXT        equ 8        text
  82. V_FILLAREA    equ 9        filled area
  83. V_CALLARRAY    equ 10        call array
  84. V_GDP        equ 11        bar,arc,pie,circle,ellipse,round rects, etc
  85. VST_HEIGHT    equ 12        set character height
  86. VST_ROTATION    equ 13        set character baseline vector
  87. VS_COLOR    equ 14        set colour representation
  88. VSL_TYPE    equ 15        set polyline type
  89. VSL_WIDTH    equ 16        set polyline width
  90. VSL_COLOR    equ 17        set ployline colour
  91. VSM_TYPE    equ 18        set polymarker type
  92. VSM_HEIGHT    equ 19        set polymarker height
  93. VSM_COLOR    equ 20        set ploymarker colour
  94. VST_FONT    equ 21        set text face
  95. VST_COLOR    equ 22        set text colour
  96. VSF_INTERIOR    equ 23        set fill interior style
  97. VSF_STYLE    equ 24        set fill style index
  98. VSF_COLOR    equ 25        set fill colour index
  99. VQ_COLOR    equ 26        inquire colour representation
  100. VQ_CELLARRAY    equ 27        inquire cell array
  101. VI_LOCATOR    equ 28        input locator, request/sample
  102. VI_VALUATOR    equ 29        input valuator, request/sample
  103. VI_CHOICE    equ 30        input choice, request/sample
  104. VI_STRING    equ 31        input string, request/sample
  105. VSWR_MODE    equ 32        set writing mode
  106. VSIN_MODE    equ 33        set input mode
  107.  
  108. VQL_ATTRIBUTES    equ 35    inquire polyline attributes
  109. VQM_ATTRIBUTES    equ 36    inquire plymarker attributes
  110. VQF_ATTRIBUTES    equ 37    inquire fill area attributes
  111. VQT_ATTRIBUTES    equ 38    inquire graphic text
  112. VST_ALIGNMENT    equ 39    set text alignment
  113.  
  114. V_OPNVWK    equ 100    open virtual workstation
  115. V_CLSVWK    equ 101    close virtual workstation
  116. VQ_EXTND    equ 102    extended inquire
  117. V_CONTOURFILL    equ 103    contour fill
  118. VSF_PERIMETER    equ 104    set fill perimeter
  119. V_GET_PIXEL    equ 105    get pixel
  120. VST_EFFECTS    equ 106    set text effects
  121. VST_POINT    equ 107    set character cell height
  122. VSL_ENDS    equ 108    set polyline end markers
  123. VRO_CPYFM    equ 109    copy rastor
  124. VR_TRN_FM    equ 110    transform form
  125. VSC_FORM    equ 111    set mouse form
  126. VSF_UDPAT    equ 112    set user-defined fill pattern
  127. VSL_UDSTY    equ 113    user defined line pattern
  128. VR_RECFL    equ 114    fill rectangle
  129. VQIN_MODE    equ 115    inquire input mode
  130. VQT_EXTENT    equ 116    inquire text extent
  131. VQT_WIDTH    equ 117    inquire char cell width
  132. VEX_TIMV    equ 118    exchange timer interrupt vector
  133. VST_LOAD_FONTS    equ 119    load fonts
  134. VST_UNLOAD_FONTS    equ 120    unload fonts
  135. VRT_CPYFM    equ 121    copy rastor transparent
  136. V_SHOW_C    equ 122    show cursor
  137. V_HIDE_C    equ 123    hide cursor
  138. VQ_MOUSE    equ 124    sample mouse button
  139. VEX_BUTV    equ 125    exchange button change vector
  140. VEX_MOTV    equ 126    exchange movement vector
  141. VEX_CURV    equ 127    exchange cursor change vector
  142. VQ_KEY_S    equ 128    sample keyboard state
  143. VS_CLIP        equ 129    set clipping rectangle
  144. VQT_NAME    equ 130    inquire face name and index
  145. VQT_FONT_INFO    equ 131    inquire current face information
  146.  
  147.  
  148. AES    MACRO
  149.     MOVE.W    #\1,D0
  150.     BSR    AES2
  151.     ENDM
  152.  
  153. VDI    MACRO
  154.     MOVE.W    #\1,D0
  155.     BSR    VDI2
  156.     ENDM
  157.     
  158. AES2    MOVE.W    D0,CONTRL
  159.     SUB.W    #10,D0
  160.     LSL.W    #2,D0
  161.     LEA    AES_CTRL_LIST(PC),A0
  162.     LEA    0(A0,D0.W),A0
  163.     CLR.L    D0
  164.     MOVE.B    (A0),D0
  165.     MOVE.W    D0,CONTRL+2
  166.     MOVE.B    1(A0),D0
  167.     MOVE.W    D0,CONTRL+4
  168.     MOVE.B    2(A0),D0
  169.     MOVE.W    D0,CONTRL+6
  170.     MOVE.B    3(A0),D0
  171.     MOVE.W    D0,CONTRL+8
  172.  
  173.     MOVE.L    #AESPB,D1
  174.     MOVE.W    #$C8,D0
  175.     TRAP    #2
  176.     RTS
  177.  
  178. VDI2
  179.     MOVE.W    D0,CONTRL
  180.     MOVE.L    #VDIPB,D1
  181.     MOVE.W    #$73,D0
  182.     TRAP    #2
  183.     RTS
  184.     
  185.  
  186. INIT    MACRO
  187.     MOVE.L    A7,A5
  188.     LEA    STACK(PC),A7
  189.     MOVE.L    4(A5),A5
  190.     MOVE.L    $C(A5),D0
  191.     ADD.L    $14(A5),D0
  192.     ADD.L    $1C(A5),D0
  193.     ADD.L    #$100,D0
  194.     MOVE.L    D0,-(SP)
  195.     MOVE.L    A5,-(SP)
  196.     MOVE.W    D0,-(SP)
  197.     MOVE.W    #$4A,-(SP)
  198.     TRAP    #1
  199.     ADDA.L    #$C,SP
  200.     AES    APPL_INIT
  201.     MOVE.W    INT_OUT,APPID
  202.     AES    GRAF_HANDLE
  203.     MOVE.W    INT_OUT,GRHANDLE
  204.     ENDM
  205.  
  206. INITACC    MACRO
  207.     LEA    STACK(PC),A7
  208.     AES    APPL_INIT
  209.     MOVE.W    INT_OUT,APPID
  210.     AES    GRAF_HANDLE
  211.     MOVE.W    INT_OUT,GRHANDLE
  212.     ENDM
  213.  
  214. AES_CTRL_LIST
  215.     dc.b 0,1,0,0    10
  216.     dc.b 2,1,1,0    11
  217.     dc.b 2,1,1,0    12
  218.     dc.b 0,1,1,0    13
  219.     dc.b 2,1,1,0    14
  220.     dc.b 1,1,1,0    15
  221.     dc.b 0,0,0,0    16*
  222.     dc.b 0,0,0,0    17*
  223.     dc.b 0,0,0,0    18*
  224.     dc.b 0,1,0,0    19
  225.     dc.b 0,1,0,0    20
  226.     dc.b 3,5,0,0    21
  227.     dc.b 5,5,0,0    22
  228.     dc.b 0,1,1,0    23
  229.     dc.b 2,1,0,0    24
  230.     dc.b 16,7,1,0    25
  231.     dc.b 2,1,0,0    26
  232.     dc.b 0,0,0,0    27*
  233.     dc.b 0,0,0,0    28*
  234.     dc.b 0,0,0,0    29*
  235.     dc.b 1,1,1,0    30
  236.     dc.b 2,1,1,0    31
  237.     dc.b 2,1,1,0    32
  238.     dc.b 2,1,1,0    33
  239.     dc.b 1,1,2,0    34
  240.     dc.b 1,1,1,0    35
  241.     dc.b 0,0,0,0    36*
  242.     dc.b 0,0,0,0    37*
  243.     dc.b 0,0,0,0    38*
  244.     dc.b 0,0,0,0    39*
  245.     dc.b 2,1,1,0    40
  246.     dc.b 1,1,1,0    41
  247.     dc.b 6,1,1,0    42
  248.     dc.b 4,1,1,0    43
  249.     dc.b 1,3,1,0    44
  250.     dc.b 2,1,1,0    45
  251.     dc.b 4,2,1,0    46
  252.     dc.b 8,1,1,0    47
  253.     dc.b 0,0,0,0    48*
  254.     dc.b 0,0,0,0    49*
  255.     dc.b 1,1,1,0    50
  256.     dc.b 9,1,0,0    51
  257.     dc.b 1,1,1,0    52
  258.     dc.b 1,1,0,0    53
  259.     dc.b 0,5,1,0    54
  260.     dc.b 0,0,0,0    55*
  261.     dc.b 0,0,0,0    56*
  262.     dc.b 0,0,0,0    57*
  263.     dc.b 0,0,0,0    58*
  264.     dc.b 0,0,0,0    59*
  265.     dc.b 0,0,0,0    60*
  266.     dc.b 0,0,0,0    61*
  267.     dc.b 0,0,0,0    62*
  268.     dc.b 0,0,0,0    63*
  269.     dc.b 0,0,0,0    64*
  270.     dc.b 0,0,0,0    65*
  271.     dc.b 0,0,0,0    66*
  272.     dc.b 0,0,0,0    67*
  273.     dc.b 0,0,0,0    68*
  274.     dc.b 0,0,0,0    69*
  275.     dc.b 4,3,0,0    70
  276.     dc.b 8,3,0,0    71
  277.     dc.b 6,1,0,0    72
  278.     dc.b 8,1,0,0    73
  279.     dc.b 8,1,0,0    74
  280.     dc.b 4,1,1,0    75
  281.     dc.b 3,1,1,0    76
  282.     dc.b 0,5,0,0    77
  283.     dc.b 1,1,1,0    78
  284.     dc.b 0,5,0,0    79
  285.     dc.b 0,1,1,0    80
  286.     dc.b 0,1,1,0    81
  287.     dc.b 0,0,0,0    82*
  288.     dc.b 0,0,0,0    83*
  289.     dc.b 0,0,0,0    84*
  290.     dc.b 0,0,0,0    85*
  291.     dc.b 0,0,0,0    86*
  292.     dc.b 0,0,0,0    87*
  293.     dc.b 0,0,0,0    88*
  294.     dc.b 0,0,0,0    89*
  295.     dc.b 0,2,2,0    90
  296.     dc.b 0,2,3,0    91
  297.     dc.b 0,0,0,0    92*
  298.     dc.b 0,0,0,0    93*
  299.     dc.b 0,0,0,0    94*
  300.     dc.b 0,0,0,0    95*
  301.     dc.b 0,0,0,0    96*
  302.     dc.b 0,0,0,0    97*
  303.     dc.b 0,0,0,0    98*
  304.     dc.b 0,0,0,0    99*
  305.     dc.b 5,1,0,0    100
  306.     dc.b 5,1,0,0    101
  307.     dc.b 1,1,0,0    102
  308.     dc.b 1,1,0,0    103
  309.     dc.b 2,5,0,0    104
  310.     dc.b 6,1,0,0    105
  311.     dc.b 2,1,0,0    106
  312.     dc.b 1,1,0,0    107
  313.     dc.b 6,5,0,0    108
  314.     dc.b 0,0,0,0    109*
  315.     dc.b 0,1,1,0    110
  316.     dc.b 0,1,0,0    111
  317.     dc.b 2,1,0,1    112 
  318.     dc.b 2,1,1,0    113
  319.     dc.b 1,1,1,0    114
  320.     dc.b 0,0,0,0    115
  321.     dc.b 0,0,0,0    116
  322.     dc.b 0,0,0,0    117
  323.     dc.b 0,0,0,0    118
  324.     dc.b 0,0,0,0    119
  325.     dc.b 0,1,2,0    120
  326.     dc.b 3,1,2,0    121
  327.     dc.b 0,0,0,0    122*
  328.     dc.b 0,0,0,0    123*
  329.     dc.b 0,1,1,0    124
  330.     dc.b 0,1,3,0    125
  331.  
  332.     EVEN
  333.     
  334. ;****************************************************************
  335.  
  336. AESPB        DC.L    CONTRL,GLOBAL,INT_IN,INT_OUT,ADDR_IN,ADDR_OUT
  337. VDIPB        DC.L    CONTRL,INT_IN,PTSIN,INT_OUT,PTSOUT
  338.  
  339.         SECTION    BSS
  340.  
  341. GRHANDLE    DS.W    1
  342. APPID        DS.W    1
  343.  
  344. CONTRL        DS.W    11
  345. GLOBAL        DS.W    15
  346.  
  347. INT_IN        DS.W    128
  348. PTSIN        DS.W    128
  349. INT_OUT        DS.W    128
  350. PTSOUT        DS.W    128    
  351. ADDR_IN        DS.W    128
  352. ADDR_OUT    DS.W    128
  353.         DS.L    100
  354. STACK        DS.W    10
  355.  
  356.         SECTION    TEXT
  357.